/**
 * 
 */
package de.uni_leipzig.informatik.asv.unsupervised_pos_tagger.datacreation;
/**
 * 
 * @author Christoph Teichmann
 * created Jun 2, 2014 9:11:46 PM
 * @version 0.1
 */
public interface FeatureType
{
	/**
	 *
	 * @param s
	 * @param lang 
	 * @return
	 */
	public String getFeatName(String s);
	/**
	 *
	 * @param s
	 * @param lang 
	 * @param first
	 * @param d
	 * @return
	 */
	public double updateWeight(String s, boolean first, double d);
	/**
	 *
	 * @return
	 */
	public Iterable<String> getFeatureOptions();
	/**
	 *
	 * @return
	 */
	public String getType();
	/**
	 *
	 * @param s
	 * @param lang 
	 * @return
	 */
	public String process(String s);
	/**
	 *
	 * @param lang 
	 * @return
	 */
	public String name();
}